home *** CD-ROM | disk | FTP | other *** search
- /* $Id: I3DEXAB.H 1.3 1996/05/01 23:00:17 john Exp $ */
- /*****************************************************************************\
- * *
- * I3DExAB.h - *
- * I3DExAtmosphericShader definition *
- * I3DExBackgroundShader definition *
- * *
- * Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
- * *
- \*****************************************************************************/
-
- #ifndef __I3DEXAB__
- #define __I3DEXAB__
-
- #ifndef __I3DEX__
- #include "I3DEx.h"
- #endif
-
-
- //****** Globally Unique Ids *************************************************
-
- DEFINE_GUID(IID_I3DExAtmosphericShader, 0x99FF7660L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- DEFINE_GUID(IID_I3DExBackground, 0x9D2399C0L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- DEFINE_GUID(IID_I3DExBackdrop, 0x9D2399C1L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- DEFINE_GUID(IID_I3DExAmbientLight, 0x9D2399C2L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
-
- /*****************************************************************************\
- * I3DExAtmosphericShader *
- * *
- * Atmospheric Shader *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExAtmosphericShader
-
- DECLARE_INTERFACE_(I3DExAtmosphericShader, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExAtmosphericShader methods
- STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
- STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
- };
-
- /*****************************************************************************\
- * I3DExBackground *
- * *
- * Background *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExBackground
-
- DECLARE_INTERFACE_(I3DExBackground, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExBackground methods
- STDMETHOD(GetBackgroundColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor) PURE;
- };
-
-
- /*****************************************************************************\
- * I3DExBackdrop *
- * *
- * Backdrop Shader *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExBackdrop
-
- DECLARE_INTERFACE_(I3DExBackdrop, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExBackdrop methods
- STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
- };
-
- /*****************************************************************************\
- * I3DExAmbientLight *
- * *
- * Ambient Light *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExAmbientLight
-
- DECLARE_INTERFACE_(I3DExAmbientLight, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExAmbientLight methods
- STDMETHOD(GetColor) (THIS_ COLOR3D* resultColor) PURE;
- };
-
-
- #endif
-